/**
 * ITmCustomFactoryService.java
 * Created at 2017-3-1
 * Created by zhangzhiqiang002
 * Copyright (C) 2017 BROADTEXT SOFTWARE, All rights reserved.
 */
package com.broadtext.rms.basic.service;

import java.util.Map;

import com.broadtext.common.exp.DaoException;
import com.broadtext.common.service.IEntityService;
import com.broadtext.rms.basic.model.TmCustomFactory;
import com.broadtext.rms.basic.model.TrPackCustomFactory;

/**
 * <p>ClassName: ITmCustomFactoryService</p>
 * <p>Description: 客户服务层接口</p>
 * <p>Author: zhangzhiqiang002</p>
 * <p>Date: 2017-3-1</p>
 */
public interface ITmCustomFactoryService extends IEntityService<TmCustomFactory> {

    /**
     * 
     * <p>Description: 批量删除 </p>
     * @param idArray 主键数组
     * @param updateUser 修改人姓名
     * @throws DaoException 异常
     */
    String delete(String[] idArray, String updateUser) throws DaoException;
    
    /**
     * 
     * <p>Description: 修改厂区</p>
     * @param factory 厂区对象
     * @param loginName 登录用户名
     * @throws DaoException 异常
     */
    void updateCustomFactory(TmCustomFactory factory, String loginName) throws DaoException;
    
    /**
     * 
     * <p>Description: 新增厂区</p>
     * @param factory 厂区对象
     * @param loginName 登录用户名
     * @throws DaoException 异常
     */
    void insertCustomFactory(TmCustomFactory factory, String loginName) throws DaoException;
    
    /**
     * <p>Description: 根据id获取厂区</p>
     * @param id 厂区主键id
     * @return 厂区对象
     * @throws DaoException 异常
     */
    TmCustomFactory getCustomFactoryById(String id) throws DaoException;
    
    /**
     * <p>Description: 根据id获取厂区详情</p>
     * @param id 厂区主键id
     * @return 厂区对象
     * @throws DaoException 异常
     */
    Map<String, Object> getCustomFactoryDetail(String id) throws DaoException;
    
    /**
     * <p>Description: 初始化电池关联绑定页面</p>
     * @param id 厂区主键id
     * @return 绑定页面结果集
     * @throws DaoException 异常
     */
    Map<String, Object> initBatteryCorrelation(String id) throws DaoException;
    
    /**
     * <p>Description: 电池关联绑定</p>
     * @param tmPackCustomFactory 电池于客户厂区关联对象
     * @param loginUser 当前登录用户名
     * @throws DaoException 异常
     */
    void saveBatteryCorrelation(TrPackCustomFactory tmPackCustomFactory, String loginUser) throws DaoException;
}
